diff --git a/system/libraries/Benchmark.php b/system/libraries/Benchmark.php
index d8dd903..feedbf5 100644
--- a/system/libraries/Benchmark.php
+++ b/system/libraries/Benchmark.php
@@ -86,6 +86,38 @@
 	// --------------------------------------------------------------------
 
 	/**
+	 * Auto Profiler
+	 *
+	 * This function cycles through the entire array of mark points and
+	 * matches any two points that are named identially (ending in "_start"
+	 * and "_end" respectively).  It then compiles the execution times for
+	 * all points and returns it as an array
+	 *
+	 * @access	public
+	 * @return	array
+	 */
+ 	function auto_profiler()
+ 	{  		
+ 		$marker_keys = array_reverse(array_keys($this->marker));
+ 
+  		$times = array();
+ 		foreach ($marker_keys as $val)
+ 		{
+ 			if (preg_match("/(.+?)_start/i", $val, $match))
+ 			{ 			
+ 				if (isset($this->marker[$match[1].'_end']))
+ 				{
+ 					$times[$match[1]] = $this->elapsed_time($val, $match[1].'_end');
+ 				}
+ 			}
+ 		}
+ 	
+ 		return $times;
+ 	}
+ 	
+	// --------------------------------------------------------------------
+
+	/**
 	 * Memory Usage
 	 *
 	 * This function returns the {memory_usage} pseudo-variable.
